home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 233 / Computer Shopper 233 / ComputerShopperDVD233.iso / In The Mag / Programming Expert / VobAuto.exe / Winspector_setupU.exe / {app} / todo.txt < prev    next >
Encoding:
Text File  |  2004-10-05  |  5.3 KB  |  121 lines

  1. Copyright (c)  Gipsysoft. All Rights Reserved.
  2. Please see the file "licence.txt" for licencing details.
  3. File:    todo.txt
  4. Owner:    russf@gipsysoft.com
  5. Purpose: My list of stuff to do.
  6.  
  7. This is my list of things I want to do. 
  8.  
  9. The job of decoding messages is ongoing. It's a big job and will just take time.
  10.  
  11. Features and suggestions
  12. ------------------------
  13. Nothing here is a commitment, instead it's merely a dumping ground for suggestions, ideas and thoughts
  14. on ways in which Winspector could be improved.
  15.  
  16. * Add-ins
  17. The ability to extend the messages with your own application and window class defined messages (this can be done with an XML file right now).
  18. This would be great when debugging your own applications.
  19.  
  20. * View "password" ***
  21. Nuff said
  22.  
  23. * Window class list filters...
  24. I planned to implement filters and this could be added to this. You'd select a filter from a drop down list
  25. above the window list and this would filter out junk of no interest.
  26.  
  27. * Find message in message window...
  28. In the message window it would be nice to be able to search for a message.
  29. If we also recorded a list of unique messages sent to the window then we could supply this list as well as having this list as
  30. an auto-complete drown down on the "find" dialog.
  31.  
  32. * Edit message filter
  33. Need to add the ability to add/remove message groups. ATM the only way you can do this is to hack the XML file - which is an incredibly
  34. ugly hack if there ever was one.
  35.  
  36. 1) To select a range (classical with Ctrl, Shift, Ctrl+Shift) and move the selected messages to the other window.
  37. 2) To sort the messages by name or by number or by group.
  38.  
  39.  
  40. * Edit all message filters
  41. Now that we have message filtering and editing it would be nice if there was somewhere to edit all of the message filters in one place.
  42. We could also define a global message filter like Spy++ has.
  43.  
  44. * Properties auto-refresh
  45. An option to have the properties window auto-refresh would be good.
  46.  
  47. * Message timestamp
  48. Optionally display the milliseconds for each message.
  49.  
  50. * Track focused window messages
  51. This might be handy. Track messages from all windows that get the focus. This might tell us why a window gets the focus and when.
  52. Could use SetWinEventHook EVENT_OBJECT_FOCUS. This would need a new display method as we would also need to report the window
  53. handle (and maybe the window type).
  54.  
  55. * Saving
  56. Add the ability to save the window log, the window list and the process list.
  57.  
  58.  
  59. * Print
  60. Add ability to print the window log, properties and messages.
  61.  
  62. * Remote message watching
  63. Zack Erhart suggested adding the ability to watch messages remotely. I can see that this would be truly useful for debugging an application
  64. during windows shutdown - the only other ways is to use a serious system level debugger.
  65.  
  66. * Highlight the message window.
  67. Just prior to creating a message window also highlight the window in question in the usual manner. This will be optional.
  68.  
  69. * Find by Title
  70. A "Find by Title" where you could enter a part of the Window Title would be nice.
  71.  
  72. * Add alternative class names
  73. Where windows classes are used add alternatives...possibly using regular expressions. This would
  74. then work for .NET window classes where they 'appear' as normal standard classes but the class name has other muck.
  75.  
  76. * Show me all messages.
  77. A popup that list all the unique messages sent to a window. We can then show all 'instances' of that message and provide a means
  78. to jump straight to them. This would be faster than a "find" type operation. Little popup should be modeless.
  79.  
  80. From pete: http://www.gipsysoft.com/forum/topic.asp?id=48
  81. 1. Copy HWND to clipboard from the right click menu
  82. 2. "Find window by HWND" from the main menu underneath "Find windows by class..."
  83. 3. Ability to view the window text. The text should be in a resizable dialog with a multi-line edit control and if you push the ok button instead of the cancel button and if the string doesn't match the original string, it will send WM_SETTEXT with the new text of the window.
  84.  
  85.  
  86. Process Properties
  87. ------------------
  88. * Handles, files, semaphores, etc.
  89. * Memory inspection
  90. * Process stats
  91. * Modules loaded
  92.  
  93. This will basically bring together many smaller tools into one tool that does them all and more.
  94.  
  95. Dev stuff
  96. ---------
  97.  
  98. * For reparenting
  99. Must take a look at EVENT_OBJECT_REORDER in SetWinEventHook...
  100.  
  101.  
  102. COM interface for all - discussion
  103. ----------------------------------
  104.  
  105. Getting lots of feature requests for things that are not really related to Winspector but could be
  106. achieved using scripting. So, the answer is a COM interface...
  107.  
  108. So, the plan is to build an out-of-process EXE server that will actually take care of all of the window
  109. handle management, message trapping and notifications.
  110.  
  111. You can subscribe to window create/destroy and of course message events.
  112.  
  113. You can get a list of visible windows, get a list of child windows for that visible window, get/set properties for windows
  114. and do all manner of magic with the new interfaces. In fact; Because Winspector itself will use these new interfaces you'll
  115. be able to perform the same magic that winspector does.
  116.  
  117. Interfaces:
  118. * Subscribe to window messages
  119. * Subscribe to window create/destroy events
  120.  
  121. Also, we could use COM categories to load decoders - decoders could then be written in VBScript - woohoo!